home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 9 / Night Owl CD-ROM (NOPV9) (Night Owl Publisher) (1993).ISO / 042a / rkpls301.zip / RKP2ENC.DOC < prev    next >
Text File  |  1993-03-04  |  9KB  |  237 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.                   ▄▄▄▄▄▄▄           ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄
  10.                   █     █                 █ █
  11.                   █▄▄▄▄▄█ ▄ ▄▄ ▄▄▄▄ ▄▄▄▄▄▄█ █▄▄     ▄▄▄ ▄ ▄▄▄▄
  12.                   █   █   █▄█▄ █▄▄█ █       █       █ █ █ █
  13.                   █   █▄▄ █  █ █    █▄▄▄▄▄▄ █▄▄▄▄▄▄ █ █▄█ █▄▄▄
  14.  
  15.  
  16.              RkPlus (tm) 2.x/compatible Encode Unit for RkPlus 3.0
  17.                                by C. Scott Davis
  18.                         (c) 1990-93 Serious Cybernetics
  19.  
  20. Rkp2Enc - RkPlus (tm) 2.x/compatible Encode Unit for RkPlus 3.0         Page i
  21.           
  22.  
  23.                       T A B L E   O F   C O N T E N T S
  24.  
  25.       ═══════════════════════════════════════════════════════════════════
  26.  
  27.         Sec    D e s c r i p t i o n                               Page
  28.  
  29.                Table of Contents .................................. i
  30.         1.0    What Is Rkp2Enc? ................................... 1
  31.         2.0    Using Rkp2Enc ...................................... 1
  32.         3.0    Rkp2Enc Variables .................................. 1
  33.         3.1    OwnerCode .......................................... 2
  34.         3.2    ProgramCode ........................................ 3
  35.         4.0    Additional Information On Rkp2Enc .................. 4
  36.         5.0    Copyright Notices .................................. 4
  37.         6.0    Index .............................................. 5
  38.  
  39. Rkp2Enc - RkPlus (tm) 2.x/compatible Encode Unit for RkPlus 3.0         Page 1
  40.  
  41.  
  42. 1.0 - What is Rkp2Enc?
  43.  
  44. Rkp2Enc is a Turbo Pascal (tm) unit to allow RkPlus 3.0 to generate and use 
  45. version 2.x/compatible keys.  It contains definitions for OwnerCode and 
  46. ProgramCode, as well as the encoding functions used by RkPlus 2.x.
  47.  
  48. If version 2.x/compatible keys are not required, Rkp3Enc or user-written 
  49. encoding functions may be used instead (see RKPLUS.DOC for more information).
  50.  
  51.  
  52. 2.0 - Using Rkp2Enc
  53.  
  54. To use Rkp2Enc, the programmer must place it AFTER RkPlus in the Uses 
  55. definition (as shown below).
  56.  
  57.   Uses
  58.     RkPlus, Rkp2Enc;
  59.  
  60. In addition, OwnerCode and ProgramCode must be initialised, before any RkPlus 
  61. calls are made (otherwise the RkPlus function RkpError will return 
  62. InvalidParameter).  No additional procedure or function calls are needed, as 
  63. Rkp2Enc is automatically activated when it is Used.
  64.  
  65. If Rkp2Enc is corrupt or has been tampered with, the RkPlus function RkpError 
  66. will return BadTPU.  If the RkPlus 3.0 version of Rkp2Enc is used with any 
  67. version other than 3.0, the RkPlus function RkpError will return 
  68. VersionMismatch.
  69.  
  70.  
  71. 3.0 - RkPlus Variables
  72.  
  73. The following Variables are defined in Rkp2Enc:
  74.  
  75. OwnerCode
  76. ProgramCode
  77.  
  78. Rkp2Enc - RkPlus (tm) 2.x/compatible Encode Unit for RkPlus 3.0         Page 2
  79.  
  80.  
  81. 3.1 - OwnerCode
  82.  
  83. ┌─────────────────────────┐
  84. │ OwnerCode : String[20]; │
  85. └─────────────────────────┘
  86.  
  87. This variable is initialised by Rkp2Enc to '' and must be assigned a value 
  88. before calling any of the RkPlus procedures or functions.  It is used (along 
  89. with ProgramCode) to generate the registration keys.  This variable should 
  90. probably be the same for all software written by a single person/company. Since
  91. is it used to cause your keys to be different from those of other programmers 
  92. who are also using RkPlus, the more cryptic this variable is, the more secure 
  93. your keys will be.
  94.  
  95. Examples :
  96.  
  97. ┌─────────────────────────────────┐
  98. │ OwnerCode := 'TrendSoft, Inc.'; │
  99. └─────────────────────────────────┘
  100.   
  101. If the name of your company is 'TrendSoft, Inc.', this is probably NOT a good 
  102. OwnerCode.  It would be easy for someone who knows the name of the company to 
  103. use the RkPlus unit to write a programme that will generate keys for your 
  104. software.
  105.  
  106. ┌──────────────────────────────────┐
  107. │ OwnerCode := 'Trend&&Soft/Inc@'; │
  108. └──────────────────────────────────┘
  109.  
  110. This is better.  It still uses the name of the company, but it is somewhat 
  111. masked by the insertion of other characters and would be harder for another 
  112. programmer to guess.
  113.  
  114. ┌────────────────────────────────┐
  115. │ OwnerCode := 'Read$Make@Into'; │
  116. └────────────────────────────────┘
  117.  
  118. This is MUCH better.  It uses totally unrelated words that would be extremely 
  119. unlikely to be used by another programmer/company.
  120.  
  121. ┌──────────────────────────────────────┐
  122. │ OwnerCode := 'EkQW3#m,-%\uSaXo^Ej7'; │
  123. └──────────────────────────────────────┘
  124.  
  125. This is most likely the best, since it uses totally random symbols.
  126.  
  127. IMPORTANT : You should NOT use any of the actual examples used here or in the 
  128. sample programmes included with RkPlus.  If you do, anyone else who uses the 
  129. same example will have IDENTICAL keys!
  130.  
  131. Rkp2Enc - RkPlus (tm) 2.x/compatible Encode Unit for RkPlus 3.0         Page 3
  132.  
  133.  
  134. 3.2 - ProgramCode
  135.  
  136. ┌───────────────────────────┐
  137. │ ProgramCode : String[16]; │
  138. └───────────────────────────┘
  139.  
  140. This variable is initialised by Rkp2Enc to '' and must be assigned a value 
  141. before calling any of the RkPlus procedures or functions.  It is used (along 
  142. with OwnerCode) to generate the registration keys.  Unlike OwnerCode, it 
  143. doesn't need to be particularly cryptic.  There are several approaches to the 
  144. use of ProgramCode:
  145.  
  146.   (1) If ProgramCode is set to the same value for several programmes
  147.       written by a person/company, keys for one piece of software will
  148.       work on another piece of software.  Using this approach, you
  149.       could have a single key for several programmes.
  150.  
  151.   (2) If each programme has a different ProgramCode and the ProgramCode is
  152.       not changed when the programme changes, keys for one version of the
  153.       programme will work for all versions of the same programme.
  154.  
  155.   (3) If each programme has a different ProgramCode and the ProgramCode is
  156.       changed when the programme is changed, a different key will be
  157.       required for each version of the programme.
  158.  
  159. Examples :
  160.  
  161. ┌───────────────────────────┐
  162. │ ProgramCode := 'RkStuff'; │
  163. └───────────────────────────┘
  164.  
  165. If you wrote a programme called RkSample and a programme called RkUtils and you
  166. defined the ProgramCode as 'RkStuff' in both programmes, a key for one 
  167. programme would work for the other.
  168.  
  169. ┌────────────────────────────┐
  170. │ ProgramCode := 'RkSample'; │
  171. └────────────────────────────┘
  172.  
  173. If you wrote a programme called RkSample and a programme called RkUtils and you
  174. defined the ProgramCode as 'RkSample' in RkSample and used a different 
  175. ProgramCode in RkUtils, a key for one would NOT work for the other.
  176.  
  177. ┌────────────────────────────────┐
  178. │ ProgramCode := 'RkSample One'; │
  179. └────────────────────────────────┘
  180.  
  181. If you wrote a programme called RkSample and you defined the ProgramCode as 
  182. 'RkSample One' in versions 1.1, 1.2 and 1.3 and then changed the ProgramCode to
  183. 'RkSample Two' for version 2.1, the same key would work for versions 1.1, 1.2 
  184. and 1.3 but would NOT work for version 2.1.
  185.  
  186. Rkp2Enc - RkPlus (tm) 2.x/compatible Encode Unit for RkPlus 3.0         Page 4
  187.  
  188.  
  189. 4.0 - Additional Information On Rkp2Enc
  190.  
  191.  
  192. Rkp2Enc makes the following assignments to RkPlus variables (for version 2.x 
  193. compatibility):
  194.  
  195. BaseYear := 1990;
  196. UseExpDays := False;
  197.  
  198. These variables should NOT be changed by any programme which uses Rkp2Enc, or 
  199. its keys will NOT be compatible with version 2.x keys.
  200.  
  201. For more information on using Rkp2Enc, see the sample Turbo Pascal (tm) 
  202. programmes (RKPDEMO2.ZIP) that are distributed with RkPlus, or contact me at 
  203. any of the locations listed in RKPLUS.DOC.
  204.  
  205.  
  206. 5.0 - Copyright Notices
  207.  
  208. RkPlus (c) 1991-93 Serious Cybernetics
  209. Rkp2Enc (c) 1990-93 Serious Cybernetics 
  210. Rkp3Enc (c) 1993 Serious Cybernetics
  211. Turbo Pascal (c) 1983-89 Borland International
  212.  
  213. Rkp2Enc - RkPlus (tm) 2.x/compatible Encode Unit for RkPlus 3.0         Page 5
  214.  
  215.  
  216. 6.0 - Index
  217.                                                                     
  218.         D e s c r i p t i o n                                     Page
  219.         -------------------------------------------------------   ----
  220.         BadTPU ...................................................  1
  221.         BaseYear .................................................  4
  222.                                                                      
  223.         InvalidParameter .........................................  1
  224.  
  225.         OwnerCode ................................................  2
  226.                                                                      
  227.         ProgramCode ..............................................  3
  228.                                                                      
  229.         RkpError .................................................  1
  230.         Rkp3Enc ..................................................  1
  231.                                                                      
  232.         UseExpDays ...............................................  4
  233.         Using Rkp2Enc ............................................  1
  234.                                                                      
  235.         Variable List ............................................  1
  236.         VersionMismatch ..........................................  1
  237.